package com.yuetong.business.domain;

import com.yuetong.common.annotation.Excel;
import com.yuetong.common.core.domain.TreeEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 区域对象 yt_area
 *
 * @author  卓晓君
 * @date 2025-03-07
 */
public class YtArea extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** 区域id */
    private Long id;

    /** 区域名称 */
    @Excel(name = "区域名称")
    private String name;

    /** 区域编号 */
    @Excel(name = "区域编号")
    private String code;

    /** 父级id集合 */
    @Excel(name = "父级id集合")
    private String parentIds;

    /** 父级名称集合 */
    @Excel(name = "父级名称集合")
    private String parentNames;

    /** 状态（0显示，1隐藏） */
    @Excel(name = "状态", readConverterExp = "0=显示，1隐藏")
    private String status;

    /** 类型（0国家，1省，2城市，3区、县，4乡镇、街道，5村、社区） */
    @Excel(name = "类型", readConverterExp = "0=国家，1省，2城市，3区、县，4乡镇、街道，5村、社区")
    private String type;

    /** 排序（从大到小） */
    @Excel(name = "排序", readConverterExp = "从=大到小")
    private Integer sort;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private String label;
    private String value;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }
    public void setParentIds(String parentIds)
    {
        this.parentIds = parentIds;
    }

    public String getParentIds()
    {
        return parentIds;
    }
    public void setParentNames(String parentNames)
    {
        this.parentNames = parentNames;
    }

    public String getParentNames()
    {
        return parentNames;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setSort(Integer sort)
    {
        this.sort = sort;
    }

    public Integer getSort()
    {
        return sort;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("code", getCode())
            .append("parentId", getParentId())
            .append("parentIds", getParentIds())
            .append("parentNames", getParentNames())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("type", getType())
            .append("sort", getSort())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("label", getLabel())
            .append("value", getValue())
            .toString();
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
